<%= stylesheet_link_tag "editor" %>

<div class="form">
  <div id="iframeEditor">
  </div>
</div>

<script src="<%= Rails.configuration.urlApi %>"></script>

<script type="text/javascript" language="javascript">

    var docEditor;

    var innerAlert = function (message) {
        if (console && console.log)
            console.log(message);
    };

    var onAppReady = function () {
        innerAlert("Document editor ready");
    };

    var onDocumentStateChange = function (event) {
        var title = document.title.replace(/\*$/g, "");
        document.title = title + (event.data ? "*" : "");
    };

    var onRequestEditRights = function () {
        location.href = location.href.replace(RegExp("action=view?&", "i"), "");
    };

    var onError = function (event) {
        if (event)
            innerAlert(event.data);
    };

    var onOutdatedVersion = function (event) {
        location.reload(true);
    };

    var сonnectEditor = function () {

        var config = <%= raw @file.get_config.to_json %>;

        config.width = "100%";
        config.height = "100%";
        config.events = {
            'onAppReady': onAppReady,
            'onDocumentStateChange': onDocumentStateChange,
            'onError': onError,
            'onOutdatedVersion': onOutdatedVersion
        };

        <%
            h = @file.get_history
            if h %>
            config.events['onRequestHistory'] = function () {
                docEditor.refreshHistory(<%= raw h[:hist].to_json %>);
            };
            config.events['onRequestHistoryData'] = function (event) {
                var ver = event.data;
                var histData = <%= raw h[:histData].to_json %>;
                docEditor.setHistoryData(histData[ver]);
            };
            config.events['onRequestHistoryClose'] = function () {
                document.location.reload();
            };
            <% end
        %>

        docEditor = new DocsAPI.DocEditor("iframeEditor", config);
    };

    if (window.addEventListener) {
        window.addEventListener("load", сonnectEditor);
    } else if (window.attachEvent) {
        window.attachEvent("load", сonnectEditor);
    }

</script>